<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #app{
            border: 1px solid #cccccc;
            padding: 10px;
        }
        .box{
            border: 1px solid #cccccc;
            margin-left: 50px;
            padding: 10px;
        }
        p{
            padding-left: 20px;
        }
        input{
            margin-left: 20px;
        }
    </style>
    <script src="./js/vue.js"></script>
</head>
<body>
    <div id="app">
        <h3>父组件范围</h3>
        <p>obj.msg:{{ obj.msg }}</p>
        <input type="text" v-model="obj.msg"><br><br>
        <!-- 
            利用JS引用数据在完成数据赋值和传递时，使用地址共享的方式，绕过vue的限制
            实现在父子组件间的数据双向操作行为  （违背单向数据流）
            该实现方式建议只在小范围使用
         -->
        <child-one :obj="obj"></child-one>
    </div>
</body>
<script type="text/x-template" id="one">
    <div class="box">
        <h3>子组件范围</h3>
        <p>obj.msg:{{ obj.msg }}</p>
        <input type="text" v-model="obj.msg"><br><br>
    </div>
</script>
<script>
    Vue.component("ChildOne",{
        template:"#one",
        props:["obj"]
    })
    new Vue({
        el:"#app",
        data:{
            obj:{
                msg:"父组件的MSG变量"
            }
        }
    })
</script>
</html>